package com.my.demo.helloworld;

import java.util.HashMap;
import java.util.Map;

public class MyClient {
	public static void main(String[] args) {
		int status = 0;
		Ice.Communicator ic = null;
		try {
			// 初始化通信器
			ic = Ice.Util.initialize(args);

			// 传入远程服务单元的名称、网络协议、IP及端口，构造一个Proxy对象
			Ice.ObjectPrx base = ic.stringToProxy("MyService:default -p 10000");

			// 通过checkedCast向下转型，获取MyService接口的远程代理，并同时检测根据传入的名称
			// 获取服务单元是否onlineBook的代理接口
			MyServicePrx proxy = MyServicePrxHelper.checkedCast(base);
			if (proxy == null) {
				throw new Error("Invalid proxy");
			}

			Map<String, String> map = new HashMap<>();
			map.put("a", "a");
			// 自定义参数
			// 必须覆盖，内部是重新创建了一个对象
			proxy = (MyServicePrx) proxy.ice_context(map);

			// 调用服务方法
			String rt = proxy.hellow();

			System.out.println(rt);
		} catch (Exception e) {
			e.printStackTrace();
			status = 1;
		} finally {
			if (ic != null) {
				ic.destroy();
			}
		}
		System.exit(status);
	}
}
